﻿
using System;

//C'est une méthode spéciale: pas de retour, pas de void
//Sa fonction est d'instancier un objet

class clA
{
    public string nom;

    public clA() // constructeur sans paramètre explicite
    {
        nom = "inconnu";
    }
    public clA(string nom)// constructeur à 1 paramètre
    {
        this.nom = nom;
    }
}

class clB
{
    public string nom = "inconnu";
    // constructeur sans paramètre implicite
}

class clC
{
    public string nom = "inconnu";
    public clC()// constructeur sans paramètre explicite
    {
    }
    public clC(string nom)// constructeur à 1 paramètre
    {
        this.nom = nom;
    }
}

class Exercice
{
    public static void Main(string[] args) // méthode principale de lancement de l'exécution
    {
        clA x = new clA();
        clB y = new clB();
        clC z = new clC();
        Console.WriteLine("x.nom = {0} ,  y.nom = {1} , z.nom = {2} ", x.nom, y.nom, z.nom);

        x = new clA("Lavarède");
        z = new clC("Mazarin");
        Console.WriteLine("x.nom = {0} ,  y.nom = {1} , z.nom = {2} ", x.nom, y.nom, z.nom);

        Console.ReadLine();
    }
}